Skip to content


This page gives hints on how to perform a GW calculation, including self-consistency with the ABINIT package.


DFT performs reasonably well for the determination of structural properties, but fails to predict accurate band gaps. A more rigorous framework for the description of excited states is provided by many-body perturbation theory (MBPT) [Fetter1971], [Abrikosov1975], based on the Green’s functions formalism and the concept of quasi-particles [Onida2002].

Within MBPT, one can calculate the quasi-particle (QP) energies, E, and amplitudes, Ψ, by solving a nonlinear equation involving the non-Hermitian, nonlocal and frequency dependent self-energy operator Σ.

This equation goes beyond the mean-field approximation of independent KS particles as it accounts for the dynamic many-body effects in the electron- electron interaction.

Details about the GW implementation in ABINIT can be found here

A typical GW calculation consists of two different steps (following a DFT calculation): first the screened interaction ε-1 is calculated and stored on disk (optdriver=3), then the KS band structure and W are used to evaluate the matrix elements of Σ, finally obtaining the QP corrections (optdriver=4).

The computation of the screened interaction is described in topic_Susceptibility, while the computation of the self-energy is described in topic_SelfEnergy. The frequency meshes, used e.g. for integration along the real and imaginary axes are described in topic_FrequencyMeshMBPT.

GW calculations can be made less memory and CPU time consuming, at the expense of numerical precision, by compiling ABINIT with the option enable_gw_dpc=“no” in the *.ac9 file.

The GW 1-body reduced density matrix (1RDM) from the linearized Dyson equation can be computed, and when used self-consistently with the Galitskii-Migdal correlation, provides an approximation the self-consistent GW total energy.



  • bdgw BanDs for GW calculation
  • gwcalctyp GW CALCulation TYPe
  • gwpara GW PARAllelization level
  • gwr_nstep GWR Number of self-consistent STEPs
  • gwr_tolqpe GWR TOLerance on the difference of the QP Energies
  • nband Number of BANDs


  • getqps GET QuasiParticle Structure
  • getscr GET SCReening (the inverse dielectric matrix) from…
  • getsuscep GET SUSCEPtibility (the irreducible polarizability) from…
  • gwaclowrank GW Analytic Continuation LOW RANK approximation
  • irdqps Integer that governs the ReaDing of QuasiParticle Structure
  • irdscr Integer that governs the ReaDing of the SCReening
  • irdsuscep Integer that governs the ReaDing of the SUSCEPtibility
  • mbpt_sciss Many Body Perturbation Theory SCISSor operator
  • nbandkss Number of BANDs in the KSS file
  • nsym Number of SYMmetry operations
  • rhoqpmix RHO QuasiParticle MIXing
  • symmorphi SYMMORPHIc symmetry operation selection
  • usepawu USE PAW+U (spherical part)


  • fftgw FFT for GW calculation
  • gw1rdm GW 1-Reduced Density Matrix
  • gw_nqlwl GW, Number of Q-points for the Long Wave-Length Limit
  • gwgmcorr GW Galitskii-Migdal CORRelation energy
  • gwmem GW MEMory
  • irdchkprdm Integer that governs ReaDing of CHecK-Point files for the GW 1-RDM
  • prtchkprdm Integer that governs PrinTing of CHecK-Point files for the GW 1-RDM
  • x1rdm EXchange-only 1-Reduced Density Matrix

Selected Input Files





  • gw1 tutorial The first tutorial on GW (GW1) deals with the computation of the quasi-particle band gap of Silicon (semiconductor), in the GW approximation (much better than the Kohn-Sham LDA band structure), with a plasmon-pole model.
  • gw2 tutorial The second tutorial on GW (GW2) deals with the computation of the quasi-particle band structure of Aluminum, in the GW approximation (so, much better than the Kohn-Sham LDA band structure) without using the plasmon-pole model.
  • Parallelism of Many-Body Perturbation calculations (GW) allows to speed up the calculation of accurate electronic structures (quasi-particle band structure, including many-body effects).